Computer-readable medium, information processing device, and method for installing appropriate program

ABSTRACT

A non-transitory computer-readable medium stores computer-readable instructions configured to, when executed by a processor of an information processing device, cause the information processing device to acquire identification information for identifying an OS of the information processing device, using the acquired identification information, determine whether the OS is capable of accepting a driver program for controlling a device, when determining that the OS is capable of accepting the driver program, install the driver program into the OS, and when determining that the OS is incapable of accepting the driver program, download into the information processing device a driverless installer for achieving driverless control of the device without using the driver program.

CROSS-REFERENCE TO RELATED APPLICATION

This application claims priority under 35 U.S.C. § 119 from JapanesePatent Application No. 2018-068437 filed on Mar. 30, 2018. The entiresubject matter of the application is incorporated herein by reference.

BACKGROUND Technical Field

Aspects of the present disclosure are related to a non-transitorycomputer-readable medium, an information processing device, and a methodfor installing an appropriate program.

Related Art

Technologies have been known in which a program for controlling a device(e.g., a printer and an image scanner) is installed into an informationprocessing device such as a PC. For instance, a technology forinstalling an appropriate program selected depending on a type of a userinterface of the information processing device has been disclosed.Specifically, in the disclosed technology, the information processingdevice acquires information regarding the user interface, then selectsan appropriate program for the type of the user interface identifiedbased on the acquired information, and installs the selected program.

SUMMARY

In recent years, an operating system (hereinafter referred to as an“OS”) of an information processing device has been known that provides adriverless environment under which a device may be controlled via astandard program of the OS with no need for a driver program forcontrolling the device that is supplied from a manufacturer or a vendorof the device. Namely, under the driverless environment, the driverprogram supplied from the manufacturer or the vendor of the device isnot used. In the disclosed technology, the appropriate program to beinstalled is selected depending on the type of the user interface.Nonetheless, there is room for improvement in the technology, since thetechnology takes no account of whether the OS of the informationprocessing device is capable of accepting the selected program to beinstalled.

Aspects of the present disclosure are advantageous to provide one ormore improved techniques for installing, into an information processingdevice, an appropriate program selected based on whether an OS of theinformation processing device is capable of accepting the program.

According to aspects of the present disclosure, a non-transitorycomputer-readable medium is provided, which stores computer-readableinstructions configured to, when executed by a processor of aninformation processing device, cause the information processing deviceto acquire identification information for identifying an OS of theinformation processing device, using the acquired identificationinformation, determine whether the OS is capable of accepting a driverprogram for controlling a device, when determining that the OS iscapable of accepting the driver program, install the driver program intothe OS, and when determining that the OS is incapable of accepting thedriver program, download into the information processing device adriverless installer for achieving driverless control of the devicewithout using the driver program.

According to aspects of the present disclosure, further provided is aninformation processing device including an acquiring means configured toacquire identification information for identifying an OS of theinformation processing device, a determining means configured to, usingthe acquired identification information, determine whether the OS iscapable of accepting a driver program for controlling a device, aninstalling means configured to, when the determining means determinesthat the OS is capable of accepting the driver program, install thedriver program into the OS, and a downloading means configured to, whenthe determining means determines that the OS is incapable of acceptingthe driver program, download into the information processing device adriverless installer for achieving driverless control of the devicewithout using the driver program.

According to aspects of the present disclosure, further provided is amethod implementable on a processor of an information processing device.The method includes acquiring identification information for identifyingan OS of the information processing device, determining whether the OSis capable of accepting a driver program for controlling a device, byusing the acquired identification information, when determining that theOS is capable of accepting the driver program, installing the driverprogram into the OS, and when determining that the OS is incapable ofaccepting the driver program, downloading into the informationprocessing device a driverless installer for achieving driverlesscontrol of the device without using the driver program.

BRIEF DESCRIPTION OF THE ACCOMPANYING DRAWINGS

FIG. 1 is a block diagram schematically showing a configuration of aprinting system in a first illustrative embodiment according to one ormore aspects of the present disclosure.

FIG. 2 is an illustration showing a functional relationship amongprograms stored in an information processing device included in theprinting system in the first illustrative embodiment according to one ormore aspects of the present disclosure.

FIG. 3 is a flowchart showing a procedure of an installation process tobe performed by the information processing device in the firstillustrative embodiment according to one or more aspects of the presentdisclosure.

FIG. 4 is a flowchart showing a procedure of a sub installation processto be performed by a server included in the printing system in the firstillustrative embodiment according to one or more aspects of the presentdisclosure.

FIG. 5 exemplifies a table stored in the server in the firstillustrative embodiment according to one or more aspects of the presentdisclosure.

FIG. 6 is a sequence diagram showing a specific procedure of aninstalling process that is achieved through execution of theinstallation process (see FIG. 3) by the information processing deviceand execution of the sub installation process (see FIG. 4) by theserver, in the first illustrative embodiment according to one or moreaspects of the present disclosure.

FIG. 7 is a flowchart showing a procedure of an installation process tobe performed by the information processing device in a secondillustrative embodiment according to one or more aspects of the presentdisclosure.

FIG. 8 is a flowchart showing a procedure of a sub installation processto be performed by the server in the second illustrative embodimentaccording to one or more aspects of the present disclosure.

FIG. 9 is a sequence diagram showing a specific procedure of aninstalling process that is achieved through execution of theinstallation process (see FIG. 7) by the information processing deviceand execution of the sub installation process (see FIG. 8) by theserver, in the second illustrative embodiment according to one or moreaspects of the present disclosure.

FIG. 10 is a sequence diagram showing a specific procedure of aninstalling process in a third illustrative embodiment according to oneor more aspects of the present disclosure.

FIG. 11 is a sequence diagram showing a specific procedure of aninstalling process in a fourth illustrative embodiment according to oneor more aspects of the present disclosure.

DETAILED DESCRIPTION

It is noted that various connections are set forth between elements inthe following description. It is noted that these connections in generaland, unless specified otherwise, may be direct or indirect and that thisspecification is not intended to be limiting in this respect. Aspects ofthe present disclosure may be implemented on circuits (such asapplication specific integrated circuits) or in computer software asprograms storable on computer-readable media including but not limitedto RAMs, ROMs, flash memories, EEPROMs, CD-media, DVD-media, temporarystorage, hard disk drives, floppy drives, permanent storage, and thelike.

First Illustrative Embodiment

Hereinafter, a first illustrative embodiment according to aspects of thepresent disclosure will be described with reference to the accompanyingdrawings. As shown in FIG. 1, a printing system 100 of the firstillustrative embodiment includes a single printer 1 and a singleinformation processing device 2 that are communicably interconnected.Nonetheless, it is noted that the printing system 100 may include one ormore of the printers 1 and one or more of the information processingdevices 2.

The printer 1 is configured to perform image formation on a printmedium. Examples of the printer 1 may include, but are not limited to, apage printer, a copy machine, and a multi-function peripheral. Theinformation processing device 2 is configured to generate and edit imagedata of an image to be printed by the printer 1 and to transmit a printexecution instruction and the image data to the printer 1. Examples ofthe information processing device 2 may include, but are not limited to,a smartphone, a personal computer, and a tablet computer.

As shown in FIG. 1, the printer 1 includes a controller 11, an imageformer 12, an operation I/F (“I/F” is an abbreviation of “interface”)13, a network I/F 14, and a USB I/F 15. The controller 11 includes a CPUand one or more memories such as a flash ROM and a RAM. The controller11 is configured to control each of elements included in the printer 1.

It is noted that the controller 11 may be a general name collectivelyrepresenting hardware elements (e.g., the CPU) and software elements forcontrolling the printer 1. Specifically, the controller 11 may includean ASIC (“ASIC” is an abbreviation of “Application Specific IntegratedCircuit”). Accordingly, the ASIC may perform a part of the function ofthe CPU. Further, a logic circuit may perform a part of the function ofthe controller 11.

Further, a non-volatile memory (e.g., the flash ROM) included in thecontroller 11 may store one or more programs for controlling eachelement included in the printer 1.

The image former 12 is configured to form an image on a print mediumbased on image data transmitted by the information processing device 2.Exemplary image forming methods of the image former 12 may include, butare not limited to, a thermal printing method, an electrophotographicprinting method, and an inkjet printing method. Further, the imageformer 12 may be configured to perform color printing or only monochromeprinting.

Specifically, in the first illustrative embodiment, the image former 12is configured to perform color printing in the inkjet method. Inaddition, plain papers and photographic sheets are usable as print mediafor the printer 1.

The operation I/F 13 may include a touch panel configured to accepttherethrough an input from a user and display information thereon.Further, the operation I/F 13 may include various display lamps andbuttons.

The network I/F 14 includes a wireless communication circuit forwirelessly communicating with the information processing device 2 via anaccess point 3.

The USB I/F 15 includes a USB communication circuit for communicatingwith the information processing device 2 via a USB cable 4.

As shown in FIG. 1, the information processing device 2 includes a CPU21, a ROM 22, a RAM 23, a non-volatile memory 24, a user I/F 26, anetwork I/F 27, and a USB I/F 28. The ROM 22 stores a boot program. TheRAM 23 is usable as a work area when the CPU 21 performs various kindsof processing, and is usable as a temporary storage area for temporarilystoring data. The non-volatile memory 24 may include one or morememories such as an HDD and a flash memory. The non-volatile memory 24stores various programs such as an installer program, and data.

The CPU 21 is configured to perform various kinds of processing inaccordance with programs read out from the ROM 22 or the non-volatilememory 24.

For instance, the user I/F 26 may include a display and a touch paneloverlaid on the display. The display is configured to display thereonnecessary information. The touch panel is configured to accepttherethrough an input from the user.

Further or alternatively, the user I/F 26 may include one or moredevices (e.g., a keyboard, a mouse, and a display) separate from theinformation processing device 2. In this case, the informationprocessing device 2 may include interfaces for connecting with the oneor more devices.

The network I/F 27 includes a communication circuit for wirelesslycommunicating with the printer 1 via the access point 3.

In the printing system 100 of the first illustrative embodiment, theprinter 1 and the information processing device 2 perform wirelesscommunication complying with Wi-Fi (registered trademark) standards,with each other via the commonly-used access point 3. Namely, thenetwork I/Fs 14 and 27 enable wireless communication complying with theWi-Fi (registered trademark) standards between the printer 1 and theinformation processing device 2. More specifically, via the network I/Fs14 and 27, the printer 1 and the information processing device 2 areallowed to perform wireless communication therebetween in compliancewith IEEE 802.11 standards and the equivalent standards.

The USB I/F 28 includes a communication circuit for communicating withthe printer 1 via the USB cable 4. Accordingly, when the USB I/Fs 15 and28 are interconnected via the USB cable 4, the printer 1 and theinformation processing device 2 are allowed to communicate with eachother in a wired manner.

It is noted that the printer 1 and the information processing device 2may perform mutual communication via a direct wireless connectiontherebetween without involving the access point 3, or may perform mutualcommunication via a wired connection therebetween other than the USBconnection.

In the first illustrative embodiment, as shown in FIG. 1, the accesspoint 3 is connected with a server 5 via an Internet 6. For instance,the server 5 may be provided by a vendor or a manufacturer of theprinter 1.

As shown in FIG. 1, the server 5 includes a CPU 51, a ROM 52, a RAM 53,a non-volatile memory 54, a user I/F 56, and a network I/F 55. The ROM52 stores a boot program for booting the server 5. The RAM 53 is usableas a work area when the CPU 51 performs various kinds of processing, andis usable as a temporary storage area for temporarily storing data.

The non-volatile memory 54 may include one or more memories such as anHDD and a flash memory. The non-volatile memory 54 stores variousprograms such as a sub installer program, and data.

The CPU 51 is configured to perform various kinds of processing inaccordance with programs read out from the ROM 52 or the non-volatilememory 54. A below-mentioned sub installer 57 (see FIG. 6) is achievedby the CPU 51 executing the sub installer program stored in thenon-volatile memory 54.

For instance, the user I/F 56 may include a display and a touch paneloverlaid on the display. The display is configured to display thereonnecessary information. The touch panel is configured to accepttherethrough an input from the user.

Further or alternatively, the user I/F 56 may include one or moredevices (e.g., a keyboard, a mouse, and a display) separate from theserver 5. In this case, the server 5 may include interfaces forconnecting with the one or more devices.

The information processing device 2 may download programs from theserver 5 via the Internet 6 and store the programs into the non-volatilememory 24.

As shown in FIG. 2, the non-volatile memory 24 of the informationprocessing device 2 stores an application program 40 for printing, anapplication program 41 for image editing, an installer program 42, andan OS (“OS” is an abbreviation of “operating system”) 44. Further, aparticular print control program 45 for driverless control by the OS 44,a general print control program 46 as a driver program, and acommunication program 47 may be incorporated in the OS 44.

It is noted that the application program 41 may not necessarily belimited to an application program for image editing, but, for instance,may be an application program for document creation or table creation.In FIG. 2, directions in which various kinds of data flow are indicatedby solid arrows.

For instance, the application program 41 for image editing (hereinafter,which may be referred to as an “image editing application 41”) isconfigured to achieve a function to accept a user instruction via theuser I/F 26, a function to display an image on the user I/F 26, and afunction to edit and save an image. In the first illustrativeembodiment, for instance, the image editing application 41 is usable forgenerating and editing a label image file for the printer 1.

Further, the image editing application 41 is configured to achieve afunction to read an already-generated label image file, a function toaccept a print instruction, and a function to accept various settingsfor printing.

Further, as indicated by alternate long and two short dashes lines inFIG. 2, the image editing application 41 is configured to achieve afunction to acquire state information on a state of the printer 1 fromthe printer 1 via one of the programs 40, 45, and 46. For instance,examples of the state information on the state of the printer 1 mayinclude, but are not limited to, a print completion notification and anerror notification.

The particular print control program 45 is configured to, when executedby the CPU 21, provide a function to generate standard data for printingthat is written in a particular page description language, and afunction to cause the communication program 47 to transmit the generatedstandard data, for example, to the printer 1. In most cases, theparticular print control program 45 is a standard program provided bythe OS 44 to achieve a print control function. Nonetheless, it is notedthat it may depend on a version of the OS 44 whether the particularprint control program 45 is a standard program provided by the OS 44 toachieve the print control function.

Thus, in order to perform printing according to the particular printcontrol program 45, the printer 1 has a function to understand andrasterize the standard data written in the particular page descriptionlanguage and generate rasterized data necessary for the printing.

Further, the particular print control program 45 is applicable tovarious types of printers that support the particular page descriptionlanguage. Hence, any printer configured to support the particular pagedescription language may perform printing based on the standard data,regardless of which manufacturer has made the printer.

It is noted that exemplary printing systems using the particular printcontrol program 45 may include, but are not limited to, AirPrint(registered trademark) and Mopria (registered trademark). Further,examples of the particular page description language may include, butare not limited to, PostScript.

The general print control program 46 is configured to, when executed bythe CPU 21, provide a function to generate rasterized data byrasterizing image data and a function to cause the communication program47 to transmit the rasterized data to the printer 1. The general printcontrol program 46 is provided by the vendor or the manufacturer of theprinter 1 to achieve a print control function. The general print controlprogram 46 is executable by the CPU 21 in a state where the generalprint control program 46 is incorporated in the OS 44.

Accordingly, as long as the printer 1 has a function to perform printingbased on rasterized data, the printer 1 may perform printing accordingto the general print control program 46.

It is noted that exemplary printing systems using the general printcontrol program 46 may include, but are not limited to, CUPS (registeredtrademark) (“CUPS” is an abbreviation of “Common UNIX (registeredtrademark) Printing System”).

The application program 40 for printing (hereinafter, which may bereferred to as the “printing application 40”) includes a print controlprogram 40A. The print control program 40A is configured to, whenexecuted by the CPU 21, provide a function to generate rasterized databy rasterizing image data and a function to cause the communicationprogram 47 to transmit the rasterized data to the printer 1. Theprinting application 40 is provided as an application program so as toachieve a print control function without using the particular printcontrol program 45 or the general print control program 46.

In general, for instance, the general print control program 46 is notincorporated in the OS 44 just after the information processing device 2has been newly purchased or the OS 44 has been upgraded to the latestversion. Therefore, in this case, the user needs to install the generalprint control program 46, using a storage medium accompanying theprinter 1.

Further, as described above, in most cases, the particular print controlprogram 45 is previously incorporated in the OS 44. However, in somecases, for instance, depending on the version of the OS 44, theparticular print control program 45 may not previously be incorporatedin the OS 44. In such cases, the user may need to incorporate, into theOS 44, the particular print control program 45 downloaded from “xxxstore” as a providing source of the particular print control program 45.

Further, in some cases, depending on the version of the OS 44, thegeneral print control program 46 or the particular print control program45 may not be compatible with the OS 44. In such cases, the user mayneed to search the Internet for the printing application 40 andincorporate the found printing application 40 into the informationprocessing device 2.

Accordingly, the user is required to appropriately select the printingapplication 40, the particular print control program 45, and the generalprint control program 46 depending on the version of the OS 44 and toinstall the selected programs 40, 45, and 46 into the informationprocessing device 2.

The installer program 42 is configured to, when booted by the user andthereafter executed by the CPU 21, activate an installer 43 (see FIG.6).

Further, the installer program 42 is configured to, when executed by theCPU 21, cause the CPU 21 to communicate (i.e., transmit and receive)data with the server 5 via the communication program 47 of the OS 44,the network I/F 27, and the Internet 6.

Therefore, when the user boots the installer program 42 to use theinstaller 43, for instance, the general print control program 46 isdownloaded depending on the version of the OS 44 and automaticallyinstalled into the information processing device 2. Thus, the user doesnot need to select a program to be installed, depending on the versionof the OS 44.

Subsequently, referring to FIG. 3, an explanation will be provided of aninstallation process to be performed by the information processingdevice 2 in the printing system 100 of the first illustrativeembodiment. The installation process is performed by the CPU 21 of theinformation processing device 2 in response to the installer program 42being selected by a user instruction via the user I/F 26 while theinformation processing device 2 is in operation.

In general, when the user needs to install at least one of the printingapplication 40, the particular print control program 45, and the generalprint control program 46 after purchasing the information processingdevice 2, the user selects and boots the installer program 42 via theuser I/F 26. Further, when the user needs to install at least one of theprinting application 40, the particular print control program 45, andthe general print control program 46 after the OS 44 has been updated,the user selects and boots the installer program 42 via the user I/F 26.

First, the CPU 21 launches the installer program 42 in response to theinstaller program 42 being selected by a user instruction via the userI/F 26 (S10).

Next, the CPU 21 collects information on the OS 44 (S11). Specifically,in the first illustrative embodiment, the CPU 21 collects, as theinformation on the OS 44, version information regarding the version ofthe OS 44, directory information as to whether there is a directoryprepared for the general print control program 46 in the OS 44,compatibility information as to whether the OS 44 is compatible with theparticular print control program 45, and existence information as towhether the particular print control program 45 exists in the OS 44.

Nonetheless, the CPU 21 may collect, as the information on the OS 44, atleast one of the version information, the directory information, thecompatibility information, and the existence information. For instance,the CPU 21 may collect only the version information, or may collect thedirectory information in addition to the version information. Further,for instance, the CPU 21 may collect, as the information on the OS 44,any other combination including at least two of the version information,the directory information, the compatibility information, and theexistence information.

Subsequently, the CPU 21 transmits, to the server 5, identificationinformation based on the collected information on the OS 44 (S12). Inthe first illustrative embodiment, for instance, the identificationinformation 59 contains a combination of the version information, thedirectory information, the compatibility information, and the existenceinformation as collected in S11 (see FIG. 5). Further, in S12, the CPU21 also transmits information (e.g., a model name) on the printer 1 tothe server 5.

Nonetheless, the contents of the identification information 59 may notnecessarily be limited to the aforementioned example. For instance, theidentification information 59 may contain at least one of the versioninformation, the directory information, the compatibility information,and the existence information. For instance, the identificationinformation 59 may contain only the version information regarding theversion of the OS 44 or contain a combination of the version informationand the directory information as to whether there is a directoryprepared for the general print control program 46 in the OS 44. Further,for instance, the identification information 59 may contain any othercombination including at least two of the version information, thedirectory information, the compatibility information, and the existenceinformation.

Next, the CPU 21 receives data from the server 5 (S13).

Subsequently, the CPU 21 determines whether the data received in S13includes reception information (S14).

When determining that the data received in S13 includes receptioninformation (S14: Yes), the CPU 21 goes to S15.

Meanwhile, when determining that the data received in S13 does notinclude reception information (S14: No), the CPU 21 goes back to S13.

Subsequently, from the received reception information, the CPU 21determines whether the OS 44 is capable of accepting the general printcontrol program 46, and extracts URL (“URL” is an abbreviation of“Uniform Resource Locator”) information (S15).

Next, the CPU 21 accesses a location represented by the extracted URLinformation via the Internet 6, and downloads an adaptive installer,which is an example of a driverless installer, from the server 5 (S16).

Next, the CPU 21 executes the downloaded adaptive installer (S17).Afterward, the CPU 21 terminates the installation process shown in FIG.3.

In the first illustrative embodiment, when executing the adaptiveinstaller, the CPU 21 performs the following operations.

Specifically, for instance, when the identification information 59includes version information of “10.15” (i.e., the version informationrepresenting that the version of the OS 44 is “10.15”), directoryinformation of “no directory” (i.e., the directory informationrepresenting that there is no directory prepared for the general printcontrol program 46 in the OS 44), compatibility information of“compatible” (i.e., the compatibility information representing that theOS 44 is compatible with the particular print control program 45), andexistence information of “existing” (i.e., the existence informationrepresenting that the particular print control program 45 exists in theOS 44), the CPU 21 controls the user I/F 26 to display usage guideinformation on the particular print control program 45. For instance,the usage guide information on the particular print control program 45may include information regarding how to boot, set, and use theparticular print control program 45 incorporated in the OS 44.

Accordingly, the user may easily use the particular print controlprogram 45 with reference to the usage guide information displayed onthe user I/F 26.

At this time, the CPU 21 may control the user I/F 26 to display anotification representing that the general print control program 46 isunavailable under a current environment of the OS 44.

Further, for instance, when the identification information 59 includesversion information of “10.14” (i.e., the version informationrepresenting that the version of the OS 44 is “10.14”), directoryinformation of “directory prepared” (i.e., the directory informationrepresenting that there is a directory prepared for the general printcontrol program 46 in the OS 44), compatibility information of“compatible” (i.e., the compatibility information representing that theOS 44 is compatible with the particular print control program 45), andexistence information of “not existing” (i.e., the existence informationrepresenting that the particular print control program 45 does not existin the OS 44), the CPU 21 boots an installer included in the adaptiveinstaller and incorporates the general print control program 46 into theOS 44.

Further, the CPU 21 controls the user I/F 26 to display usage guideinformation on the general print control program 46. For instance, theusage guide information on the general print control program 46 mayinclude information regarding how to boot, set, and use the generalprint control program 46 incorporated in the OS 44. Thereby, the usermay easily use the general print control program 46.

At this time, the CPU 21 may control the user I/F 26 to display anotification representing that the particular print control program 45is available under the current environment of the OS 44. Further, theCPU 21 may control the user I/F 26 to display acquisition informationsuch as how to acquire the particular print control program 45 and a URLof “xxx store” as the providing source of the particular print controlprogram 45. Further, at this time, the CPU 21 may control the user I/F26 to display the usage guide information on the particular printcontrol program 45 such as how to boot, set, and use the particularprint control program 45.

Thus, when the OS 44 is compatible with the particular print controlprogram 45, but the particular print control program 45 does not existin the OS 44, the acquisition information such as how to acquire theparticular print control program 45 and the URL of “xxx store” as theproviding source of the particular print control program 45 is displayedon the user I/F 26. Therefore, the user may easily obtain theacquisition information such as how to acquire the particular printcontrol program 45 and the URL of “xxx store” as the providing source ofthe particular print control program 45, without having to search theInternet or other sources for such type of information. In addition, theuser may download the particular print control program 45 from the URLof “xxx store” as the providing source of the particular print controlprogram 45, and may incorporate the downloaded particular print controlprogram 45 into the OS 44.

In the first illustrative embodiment, when the particular print controlprogram 45 is available under the current environment of the OS 44, theacquisition information such as how to acquire the particular printcontrol program 45 and the URL of “xxx store” as the providing source ofthe particular print control program 45 is displayed on the user I/F 26.Nonetheless, in another exemplary case, after downloading an adaptiveinstaller including the particular print control program 45 from theserver 5, the CPU 21 may boot an installer included in the adaptiveinstaller and incorporate the particular print control program 45 intothe OS 44.

Further, for instance, when the identification information 59 includesversion information of “10.13” (i.e., the version informationrepresenting that the version of the OS 44 is “10.13”), directoryinformation of “directory prepared” (i.e., the directory informationrepresenting that there is a directory prepared for the general printcontrol program 46 in the OS 44), compatibility information of“incompatible” (i.e., the compatibility information representing thatthe OS 44 is incompatible with the particular print control program 45),and existence information of “not existing” (i.e., the existenceinformation representing that the particular print control program 45does not exist in the OS 44), the CPU 21 boots the installer included inthe adaptive installer and incorporates the general print controlprogram 46 into the OS 44. Further, the CPU 21 controls the user I/F 26to display the usage guide information on the general print controlprogram 46 such as how to boot, set, and use the general print controlprogram 46.

At this time, the CPU 21 may control the user I/F 26 to display anotification representing that the particular print control program 45is unavailable under the current environment of the OS 44.

Thereby, the user may easily use the general print control program 46with reference to the usage guide information displayed on the user I/F26.

Further, for instance, when the identification information 59 includesversion information of “9.12” (i.e., the version informationrepresenting that the version of the OS 44 is “9.12”), directoryinformation of “no directory” (i.e., the directory informationrepresenting that there is no directory prepared for the general printcontrol program 46 in the OS 44), compatibility information of“incompatible” (i.e., the compatibility information representing thatthe OS 44 is incompatible with the particular print control program 45),and existence information of “not existing” (i.e., the existenceinformation representing that the particular print control program 45does not exist in the OS 44), the CPU 21 boots an installer included inthe adaptive installer and installs the printing application 40 into theinformation processing device 2. Further, the CPU 21 controls the userI/F 26 to display usage guide information on the printing application 40such as how to boot, set, and use the printing application 40.

Thereby, the user may easily use the printing application 40 withreference to the usage guide information displayed on the user I/F 26.

Thus, in the first illustrative embodiment, when the OS 44 is notcapable of accepting any of the print control programs 45 and 46, byinstalling the printing application 40, it is possible to avoid such anenvironment that the printer 1 is unavailable.

Subsequently, referring to FIG. 4, an explanation will be provided of asub installation process to be performed by the server 5. The subinstallation process is performed by the CPU 51 executing a subinstaller program stored in the non-volatile memory 54 while the server5 is in operation. The sub installation process is always performed asone of time-division multiplexing processes.

First, the CPU 51 receives the identification information 59 from theinformation processing device 2 (S20).

Then, based on the received identification information 59, the CPU 51acquires adaptation information 60 from a table 58 (see FIG. 5)corresponding to the printer 1 (S21).

Next, based on contents of the acquired adaptation information 60, theCPU 51 selects an adaptive installer from among a plurality ofinstallers, and stores the selected adaptive installer into thenon-volatile memory 54 (S22).

Specifically, for instance, when the identification information 59received from the information processing device 2 includes the versioninformation of “10.15,” the directory information of “no directory,” thecompatibility information of “compatible,” and the existence informationof “existing,” the CPU 51 acquires, from the table 58 (see FIG. 5),adaptation information 60A as the adaptation information 60 associatedwith the received identification information 59.

Accordingly, based on the acquired adaptation information 60A, the CPU51 selects an adaptive installer complying with the usage guideinformation such as how to boot, set, and use the particular printcontrol program 45, and stores the selected adaptive installer into thenon-volatile memory 54.

Further, for instance, when the identification information 59 receivedfrom the information processing device 2 includes the versioninformation of “10.14,” the directory information of “directoryprepared,” the compatibility information of “compatible,” and theexistence information of “not existing,” the CPU 51 acquires, from thetable 58 (see FIG. 5), adaptation information 60B as the adaptationinformation 60 associated with the received identification information59.

Accordingly, based on the acquired adaptation information 60B, the CPU51 selects an adaptive installer that complies with the general printcontrol program 46, the acquisition information such as how to acquirethe particular print control program 45 and the URL of “xxx store” asthe providing source of the particular print control program 45, and theusage guide information such as how to boot, set, and use the generalprint control program 46 and the particular print control program 45.Then, the CPU 51 stores the selected adaptive installer into thenon-volatile memory 54.

Further, for instance, when the identification information 59 receivedfrom the information processing device 2 includes the versioninformation of “10.13,” the directory information of “directoryprepared,” the compatibility information of “incompatible,” and theexistence information of “not existing,” the CPU 51 acquires, from thetable 58 (see FIG. 5), adaptation information 60C as the adaptationinformation 60 associated with the received identification information59.

Accordingly, based on the acquired adaptation information 60C, the CPU51 selects an adaptive installer complying with the general printcontrol program 46 and the usage guide information such as how to boot,set, and use the general print control program 46. Then, the CPU 51stores the selected adaptive installer into the non-volatile memory 54.

Further, for instance, when the identification information 59 receivedfrom the information processing device 2 includes the versioninformation of “9.12,” the directory information of “no directory,” thecompatibility information of “incompatible,” and the existenceinformation of “not existing,” the CPU 51 acquires, from the table 58(see FIG. 5), adaptation information 60D as the adaptation information60 associated with the received identification information 59.

Accordingly, based on the acquired adaptation information 60D, the CPU51 selects an adaptive installer complying with the printing application40 and the usage guide information such as how to boot, set, and use theprinting application 40. Then, the CPU 51 stores the selected adaptiveinstaller into the non-volatile memory 54.

Subsequently, the CPU 51 transmits the reception information to theinformation processing device 2 (S23). The reception informationincludes a URL representing a location of the adaptive installer on theWeb.

Next, in response to access from the information processing device 2,the CPU 51 transmits the adaptive installer to the informationprocessing device 2 (S24). Afterward, the CPU 51 terminates the subinstallation process shown in FIG. 4.

Subsequently, referring to FIG. 6, an explanation will be provided of aspecific procedure of an installing process that is achieved throughexecution of the installation process (see FIG. 3) by the informationprocessing device 2 and execution of the sub installation process (seeFIG. 4) by the server 5.

First, in T1, the CPU 21 of the information processing device 2 collectsthe information on the OS 44 (FIG. 3, S11).

Subsequently, in T2, the CPU 21 of the information processing device 2transmits the identification information 59 to the server 5, based onthe collected information on the OS 44 (FIG. 3, S12). At this time, theCPU 21 also transmits the information on the printer 1 to the server 5.This is because what matters is a relationship between theidentification information 59 and the information on the printer 1 suchas whether the printer 1 is compatible with the general print controlprogram 46 and whether the printer 1 is compatible with the particularprint control program 45.

Next, in T3, based on the identification information 59 and theinformation on the printer 1 received from the information processingdevice 2, the CPU 51 of the server 5 acquires the adaptation information60 from the table 58 (see FIG. 5) corresponding to the printer 1, andselects an adaptive installer from among the plurality of installers,based on the acquired adaptation information 60 (FIG. 4, S21 to S22).

Next, in T4, the CPU 51 of the server 5 transmits, to the informationprocessing device 2, the reception information including the URLrepresenting the location of the adaptive installer on the Web (FIG. 4,S23).

Subsequently, in T5, the CPU 21 of the information processing device 2extracts the URL information from the received reception information,and then accesses the location represented by the extracted URLinformation via the Internet 6 (FIG. 3, S15 to S16).

Subsequently, in T6, the CPU 51 of the server 5 transmits the adaptiveinstaller to the information processing device 2 (FIG. 4, S24).

Next, in T7, the CPU 21 of the information processing device 2 executesthe downloaded adaptive installer (FIG. 3, S17).

Thus, in the first illustrative embodiment, based on the identificationinformation 59 of the OS 44, it may be determined whether the OS 44 iscapable of accepting each of the print control programs 45 and 46.Further, when it is determined that the OS 44 is capable of accepting atleast one of the print control programs 45 and 46, the at least one ofthe print control programs 45 and 46 may be installed into theinformation processing device 2. Hence, it is possible to avoid auseless operation to install a print control program that is not allowedto be incorporated into the OS 44 under the current environment of theOS 44. Therefore, even a user who does not have knowledge of the OS 44may install a print control program or the printing application 40 thatis suitable for the environment of the OS 44.

Additionally, the server 5 determines whether the OS 44 is capable ofaccepting each of the print control programs 45 and 46. Therefore, it ispossible to determine whether the OS 44 is capable of accepting each ofthe print control programs 45 and 46, based on latest states of the OS44 and the print control programs 45 and 46.

Second Illustrative Embodiment

Hereinafter, a second illustrative embodiment according to aspects ofthe present disclosure will be described with reference to theaccompanying drawings. In the second illustrative embodiment, aspects ofthe present disclosure are applied to a printing system including aprinter and an information processing device that are communicablyinterconnected. In the following description, substantially the sameelements as exemplified in the aforementioned first illustrativeembodiment will be provided with the same reference characters,respectively.

In the aforementioned first illustrative embodiment, the general printcontrol program 46 is stored in the server 5, and is installed into theinformation processing device 2 after the adaptive installer isdownloaded from the server 5 to the information processing device 2. Inthe second illustrative embodiment, an installer program 48 shown inFIG. 2 includes the general print control program 46. In other words,the second illustrative embodiment is different from the aforementionedfirst illustrative embodiment in that an installer 49 (see FIG. 9),which is activated when the installer program 48 is executed by the CPU21 after booted by the user, includes the general print control program46.

First, referring to FIG. 7, an explanation will be provided of aninstallation process to be performed by the information processingdevice 2. In the following description, substantially the same steps asshown in FIG. 3 in the aforementioned first illustrative embodiment willbe provided with the same reference characters, respectively, anddifferent steps will primarily be described.

When determining that the data received in S13 includes receptioninformation (S14: Yes), the CPU 21 extracts availability informationfrom the reception information (S30).

Subsequently, based on the extracted availability information, the CPU21 determines whether the general print control program 46 is available(S31).

Then, when determining that the general print control program 46 isavailable (S31: Yes), the CPU 21 installs the general print controlprogram 46, which is included in the installer program 48 (i.e., theinstaller 49 activated by execution of the installer program 48), intothe information processing device 2 (S31). In other words, in S31, theCPU 21 incorporates the general print control program 46 into the OS 44.Meanwhile, when determining that the general print control program 46 isunavailable (S31: No), the CPU 21 goes to S15, and extracts URLinformation from the reception information in the same manner asexecuted in the aforementioned first illustrative embodiment (see FIG.3).

Thus, in the second illustrative embodiment, there is no need todownload the general print control program 46 from the server 5.Therefore, even under an unfavorable environment for communicationbetween the information processing device 2 and the server 5, it ispossible to install the general print control program 46 into theinformation processing device 2. Thus, in this case, it is convenientthat an appropriate print control program is automatically installedwith no need for the user to be conscious of the version of the OS 44.

Next, referring to FIG. 8, an explanation will be provided of a subinstallation process to be performed by the server 5. In the followingdescription, substantially the same steps as shown in FIG. 4 in theaforementioned first illustrative embodiment will be provided with thesame reference characters, respectively, and different steps willprimarily be described.

After acquiring the adaptation information 60 from the table 58 (seeFIG. 5) corresponding to the printer 1 based on the receivedidentification information 59 (S21), the CPU 51 determines whether thegeneral print control program 46 is available for the OS 44 of theinformation processing device 2, based on the adaptation information 60(S35). When determining that the general print control program 46 isavailable for the OS 44, based on the adaptation information 60 (S35:Yes), the CPU 51 transmits the reception information including theavailability information to the information processing device 2 (S36).Afterward, the CPU 51 terminates the sub installation process shown inFIG. 8.

Meanwhile, when determining that the OS 44 is not allowed to use thegeneral print control program 46 (S35: No), the CPU 51 goes to S22. InS22, as described above, based on the contents of the acquiredadaptation information 60, the CPU 51 selects an adaptive installer fromamong the plurality of installers, and stores the selected adaptiveinstaller into the non-volatile memory 54.

Thus, in the second illustrative embodiment, the CPU 51 selects anadaptive installer only when determining that the OS 44 is not allowedto use the general print control program 46 (S35: No). Since the stepsS23 and S24 are substantially the same as those shown in FIG. 4 in theaforementioned first illustrative embodiment, an explanation thereofwill be omitted.

Subsequently, referring to FIG. 9, an explanation will be provided of aspecific procedure of an installing process that is achieved throughexecution of the installation process (see FIG. 7) by the informationprocessing device 2 and execution of the sub installation process (seeFIG. 8) by the server 5. In the following description, substantially thesame steps as shown in FIG. 6 in the aforementioned first illustrativeembodiment will be provided with the same reference characters,respectively, and different steps will primarily be described.

Specifically, when the general print control program 46 is available forthe OS 44, in T10, the CPU 51 of the server 5 transmits the receptioninformation including the availability information to the informationprocessing device 2 (FIG. 8, S36).

Next, in T11, the CPU 21 of the information processing device 2 installsthe general print control program 46 included in the installer program48 into the OS 44 (FIG. 7, S32).

Meanwhile, when the general print control program 46 is unavailable forthe OS 44 of the information processing device 44, in T12, the CPU 51 ofthe server 5 acquires the adaptation information 60 from the table 58(see FIG. 5) based on the received identification information 59, andthereafter selects an adaptive installer from among the plurality ofinstallers, based on the acquired adaptation information 60 (FIG. 8, S21to S22).

Subsequently, in T4, the CPU 51 of the server 5 transmits, to theinformation processing device 2, the reception information including theURL representing the location of the adaptive installer on the Web (FIG.8, S23).

Next, in T13, the CPU 21 of the information processing device 2 extractsthe URL information from the received reception information, and thenaccesses the location represented by the extracted URL information viathe Internet 6 (FIG. 7, S15 to S16).

Next, in T14, the CPU 51 of the server 5 transmits the adaptiveinstaller to the information processing device 2 (FIG. 8, S24).

Then, in T15, the CPU 21 of the information processing device 2 executesthe downloaded adaptive installer (FIG. 7, S17).

Thus, in the second illustrative embodiment, the information processingdevice 2 may install a print control program into the informationprocessing device 2 without having to receive the print control programfrom the server 5. Thereby, it is possible to complete the installingoperation promptly and reduce useless communication.

Third Illustrative Embodiment

Hereinafter, a third illustrative embodiment according to aspects of thepresent disclosure will be described with reference to FIG. 10. In thethird illustrative embodiment, aspects of the present disclosure areapplied to a printing system including a printer and an informationprocessing device that are communicably interconnected. In the followingdescription, substantially the same elements as exemplified in theaforementioned first illustrative embodiment will be provided with thesame reference characters, respectively.

In the aforementioned first illustrative embodiment, the server 5 storestherein the table 58 shown in FIG. 5, and acquires the adaptationinformation 60 based on the identification information 59 received fromthe information processing device 2. However, the third illustrativeembodiment is different from the aforementioned first illustrativeembodiment in that the information processing device 2 stores thereinthe table 58 shown in FIG. 5.

Specifically, in T1, the CPU 21 of the information processing device 2collects the information on the OS 44.

Subsequently, in T20, the CPU 21 of the information processing device 2acquires the adaptation information 60 from the table 58 shown in FIG.5, and thereafter transmits the acquired adaptation information 60 tothe server 5.

Next, in T21, the CPU 51 of the server 5 selects an adaptive installerfrom among the plurality of installers, based on the received adaptationinformation 60.

Fourth Illustrative Embodiment

Hereinafter, a fourth illustrative embodiment according to aspects ofthe present disclosure will be described with reference to FIG. 11. Inthe third illustrative embodiment, aspects of the present disclosure areapplied to a printing system including a printer and an informationprocessing device that are communicably interconnected. In the followingdescription, substantially the same elements as exemplified in theaforementioned first and second illustrative embodiments will beprovided with the same reference characters, respectively.

In the aforementioned second illustrative embodiment, the server 5stores the table 58 shown in FIG. 5 and acquires the adaptationinformation 60 based on the identification information 59 received fromthe information processing device 2. However, the fourth illustrativeembodiment is different from the aforementioned second illustrativeembodiment in that the information processing device 2 stores the table58 shown in FIG. 5.

Specifically, in T1, the CPU 21 of the information processing device 2collects the information on the OS 44.

Subsequently, in T30, the CPU 21 of the information processing device 2acquires the adaptation information 60 from the table 58 shown in FIG.5. Then, when determining that the general print control program 46 isavailable for the OS 44 of the information processing device 2, based onthe acquired adaptation information 60, the CPU 21 installs into the OS44 the general print control program 46 included in the installerprogram 48.

Meanwhile, in T31, when determining that the general print controlprogram 46 is available for the OS 44 of the information processingdevice 2, based on the acquired adaptation information 60, the CPU 21 ofthe information processing device 2 transmits the adaptation information60 to the server 5.

Next, in T32, the CPU 51 of the server 5 selects an adaptive installerfrom among the plurality of installers, based on the received adaptationinformation 60.

Thus, in the fourth illustrative embodiment, the information processingdevice 2 may independently determine the environment of the OS 44.Hence, even though a network environment is unavailable, the informationprocessing device 2 may install the general print control program 46into the OS 44.

Hereinabove, the illustrative embodiments according to aspects of thepresent disclosure have been described. The present disclosure may bepracticed by employing conventional materials, methodology andequipment. Accordingly, the details of such materials, equipment andmethodology are not set forth herein in detail. In the previousdescriptions, numerous specific details are set forth, such as specificmaterials, structures, chemicals, processes, etc., in order to provide athorough understanding of the present disclosure. However, it should berecognized that the present disclosure may be practiced withoutreapportioning to the details specifically set forth. In otherinstances, well known processing structures have not been described indetail, in order not to unnecessarily obscure the present disclosure.

Only exemplary illustrative embodiments of the present disclosure andbut a few examples of their versatility are shown and described in thepresent disclosure. It is to be understood that the present disclosureis capable of use in various other combinations and environments and iscapable of changes or modifications within the scope of the inventiveconcept as expressed herein. For instance, the following modificationsaccording to aspects of the present disclosure are feasible.

The printer 1 may not necessarily include the operation I/F 13. Further,instead of the non-volatile memory 24, the information processing device2 may include any other type of large-capacity storage device.

Further, the communication system applicable between the printer 1 andthe information processing device 2 is not limited to the wirelesscommunication complying with Wi-Fi (registered trademark) standards. Forinstance, examples of the communication system applicable between theprinter 1 and the information processing device 2 may include wiredcommunication using a USB cable, and wireless communication complyingwith any other type of standards such as Bluetooth (registeredtrademark) standards. Further, for instance, a plurality ofcommunication systems may be available between the printer 1 and theinformation processing device 2.

Further, in the aforementioned first to fourth illustrative embodiments,the determination as to whether the OS 44 is capable of accepting eachof the print control programs 45 and 46 is made using the table 58.Nonetheless, the determination may be made using a capabilitydetermination program for determining the capability of the OS 44. Thecapability determination program may be created by programming thecontents of the table 58 shown in FIG. 5.

Further, in the aforementioned first to fourth illustrative embodiments,the server 5 selects an adaptive installer based on the adaptationinformation 60. Nonetheless, for instance, based on the identificationinformation 59 or the table 58, customization information may begenerated. In this case, a customized installer may be created based onthe generated customization information.

Further, each process/operation as exemplified in the aforementionedillustrative embodiments may be performed by one or more CPUs, one ormore hardware elements such as ASICs, or a combination including atleast two of CPUs and hardware elements such as ASICs. Moreover, eachprocess/operation as exemplified in the aforementioned illustrativeembodiments may be performed in accordance with aprocessor-implementable method or computer-readable instructions storedin a non-transitory computer-readable medium.

Associations between elements exemplified in the aforementionedillustrative embodiments and elements according to aspects of thepresent disclosure will be exemplified below. The information processingdevice 2 may be an example of an “information processing device”according to aspects of the present disclosure. The printer 1 may be anexample of a “device” according to aspects of the present disclosure.Further, an image scanner may be included in examples of the “device”according to aspects of the present disclosure. The server 5 may be anexample of a “server” according to aspects of the present disclosure.The CPU 21 of the information processing device 2 may be an example of a“processor” according to aspects of the present disclosure. The networkI/F 27 of the information processing device 2 may be an example of a“communication interface” according to aspects of the presentdisclosure. The user I/F 26 of the information processing device 2 maybe an example of a “user interface” according to aspects of the presentdisclosure. The non-volatile memory 24 of the information processingdevice 2 may be an example of a “non-transitory computer-readablemedium” according to aspects of the present disclosure. Examples of“computer-readable instructions” according to aspects of the presentdisclosure may include the installer programs 42 and 48. The OS 44 ofthe information processing device 2 may be an example of an “OS”according to aspects of the present disclosure. The general printcontrol program 46 may be an example of a “driver program” according toaspects of the present disclosure. The application program 40 forprinting that includes the print control program 40A may be an exampleof an “application program” according to aspects of the presentdisclosure. The URL information may be an example of “locationinformation” according to aspects of the present disclosure. The CPU 21executing Si 1 may be an example of an “acquiring means” according toaspects of the present disclosure. The CPU 21 executing the steps S12 toS15 (see FIG. 3) may be an example of a “determining means” according toaspects of the present disclosure. Further, the CPU 21 executing thesteps S12 to S31 (see FIG. 7) may be an example of the “determiningmeans” according to aspects of the present disclosure. The CPU 21executing S16 may be an example of a “downloading means” according toaspects of the present disclosure. The CPU 21 executing S17 may be anexample of an “installing means” according to aspects of the presentdisclosure.

What is claimed is:
 1. A non-transitory computer-readable medium storingcomputer-readable instructions configured to, when executed by aprocessor of an information processing device, cause the informationprocessing device to: acquire identification information for identifyingan OS of the information processing device; using the acquiredidentification information, determine whether the OS is capable ofaccepting a driver program for controlling a device; when determiningthat the OS is capable of accepting the driver program, install thedriver program into the OS; and when determining that the OS isincapable of accepting the driver program, download into the informationprocessing device a driverless installer for achieving driverlesscontrol of the device without using the driver program.
 2. Thenon-transitory computer-readable medium according to claim 1, whereinthe instructions are further configured to, when executed by theprocessor, cause the information processing device to: transmit theacquired identification information to a server via a communicationinterface of the information processing device; receive receptioninformation from the server, the reception information being transmittedby the server in response to the server receiving the identificationinformation, the reception information representing whether the OS iscapable of accepting the driver program; when the received receptioninformation represents that the OS is capable of accepting the driverprogram, determine that the driver program is executable by theprocessor; and when the received reception information represents thatthe OS is incapable of accepting the driver program, determine that thedriver program is unexecutable by the processor.
 3. The non-transitorycomputer-readable medium according to claim 1, wherein the instructionsare further configured to, when executed by the processor, cause theinformation processing device to: when determining that the OS iscapable of accepting the driver program, receive location informationfrom a server via a communication interface of the informationprocessing device, the location information representing a locationwhere an installer for the driver program is stored; access the locationrepresented by the location information and receive the installer forthe driver program via the communication interface; and boot thereceived installer for the driver program, thereby installing the driverprogram.
 4. The non-transitory computer-readable medium according toclaim 1, wherein the instructions are further configured to, whenexecuted by the processor, cause the information processing device to:using the identification information, determine whether the driverprogram is available; when determining that the driver program isavailable, install the driver program included in the instructions; andwhen determining that the driver program is unavailable, perform:receiving location information from a server via a communicationinterface of the information processing device, the location informationrepresenting a location where the driverless installer is stored;accessing the location represented by the location information andreceiving the driverless installer via the communication interface; andbooting the received driverless installer.
 5. The non-transitorycomputer-readable medium according to claim 1, wherein the instructionsare further configured to, when executed by the processor, cause theinformation processing device to provide, via a user interface, guideinformation regarding settings in the OS as a notification about how tocontrol the device.
 6. The non-transitory computer-readable mediumaccording to claim 1, wherein the instructions are further configuredto, when executed by the processor, cause the information processingdevice to: when determining that the OS is incapable of accepting thedriver program, determine whether driverless control by the OS isacceptable for the device to be controlled; and when determining thatthe driverless control by the OS is not acceptable for the device to becontrolled, install an application program for controlling the deviceinto the information processing device.
 7. The non-transitorycomputer-readable medium according to claim 6, wherein the instructionsare further configured to, when executed by the processor, cause theinformation processing device to: receive location information from aserver via a communication interface of the information processingdevice, the location information representing a location where aninstaller for the application program is stored; access the locationrepresented by the location information and receive the installer forthe application program via the communication interface; and boot thereceived installer for the application program, thereby installing theapplication program.
 8. An information processing device comprising: anacquiring means configured to acquire identification information foridentifying an OS of the information processing device; a determiningmeans configured to, using the acquired identification information,determine whether the OS is capable of accepting a driver program forcontrolling a device; an installing means configured to, when thedetermining means determines that the OS is capable of accepting thedriver program, install the driver program into the OS; and adownloading means configured to, when the determining means determinesthat the OS is incapable of accepting the driver program, download intothe information processing device a driverless installer for achievingdriverless control of the device without using the driver program.
 9. Amethod implementable on a processor of an information processing device,the method comprising: acquiring identification information foridentifying an OS of the information processing device; determiningwhether the OS is capable of accepting a driver program for controllinga device, by using the acquired identification information; whendetermining that the OS is capable of accepting the driver program,installing the driver program into the OS; and when determining that theOS is incapable of accepting the driver program, downloading into theinformation processing device a driverless installer for achievingdriverless control of the device without using the driver program. 10.The method according to claim 9, further comprising: transmitting theacquired identification information to a server via a communicationinterface of the information processing device; receiving receptioninformation from the server, the reception information being transmittedby the server in response to the server receiving the identificationinformation, the reception information representing whether the OS iscapable of accepting the driver program; when the received receptioninformation represents that the OS is capable of accepting the driverprogram, determining that the driver program is executable by theprocessor; and when the received reception information represents thatthe OS is incapable of accepting the driver program, determining thatthe driver program is unexecutable by the processor.
 11. The methodaccording to claim 9, further comprising: when determining that the OSis capable of accepting the driver program, receiving locationinformation from a server via a communication interface of theinformation processing device, the location information representing alocation where an installer for the driver program is stored; accessingthe location represented by the location information and receive theinstaller for the driver program via the communication interface; andbooting the received installer for the driver program, therebyinstalling the driver program.
 12. The method according to claim 9,further comprising: determining whether the driver program is available,using the identification information; when determining that the driverprogram is available, installing the driver program included in aninstaller program that is being executed by the processor to implementthe method; and when determining that the driver program is unavailable,performing: receiving location information from a server via acommunication interface of the information processing device, thelocation information representing a location where the driverlessinstaller is stored; accessing the location represented by the locationinformation and receiving the driverless installer via the communicationinterface; and booting the received driverless installer.
 13. The methodaccording to claim 9, further comprising: providing, via a userinterface, guide information regarding settings in the OS as anotification about how to control the device.
 14. The method accordingto claim 9, further comprising: when determining that the OS isincapable of accepting the driver program, determining whetherdriverless control by the OS is acceptable for the device to becontrolled; and when determining that the driverless control by the OSis not acceptable for the device to be controlled, installing anapplication program for controlling the device into the informationprocessing device.
 15. The method according to claim 14, furthercomprising: receiving location information from a server via acommunication interface of the information processing device, thelocation information representing a location where an installer for theapplication program is stored; accessing the location represented by thelocation information and receive the installer for the applicationprogram via the communication interface; and booting the receivedinstaller for the application program, thereby installing theapplication program.